package com.zztt.logmask.logback;

import ch.qos.logback.classic.PatternLayout;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.rolling.RollingFileAppender;
import com.zztt.logmask.common.utils.MaskHandleUtils;

/**
 * 自定义输出格式命令 并添加额外的属性支持
 */
public class CupdataZiconRollingFileAppender extends RollingFileAppender<ILoggingEvent> {
    static {
        PatternLayout.defaultConverterMap.put("msgf", CupdataZiconMessageConverter.class.getName());
    }

    /**
     * 设置多个掩码处理器  顺序根据配置文件中的顺序进行
     * @param maskHandles
     */
    public void setMaskHandles(String maskHandles) throws Exception{
        MaskHandleUtils.setMaskHandles(maskHandles);
    }

    /**
     * 设置 掩码处理器是否开启
     * @param maskHandlesEnabled
     */
    public void setMaskHandlesEnabled(boolean maskHandlesEnabled){
        MaskHandleUtils.setMaskHandlesEnabled(maskHandlesEnabled);
    }

    /**
     * 设置 掩码处理器支持的日志级别
     * @param maskHandleSuportLevels
     */
    public void setMaskHandleSuportLevels(String maskHandleSuportLevels){
        MaskHandleUtils.setMaskHandleSuportLevels(maskHandleSuportLevels);
    }
}
